package com.office.sysManage.roleManage.service;

import com.office.sysManage.roleManage.pojo.Role;
import com.office.sysManage.roleManage.pojo.RoleAndLimits;
import com.office.util.PageModel;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 88168
 * @since 2022-10-24
 */
public interface RoleService  {

    /**
     * 根据查询条件查询角色信息
     * @param role 角色和权限对象
     * @return 角色集合
     */
    public List<Role> queryRolesByCondition(RoleAndLimits role);

    /**
     * 添加角色
     * @param role 角色和权限对象
     * @return 是否成功
     */
    public boolean addRole(Role role);

    /**
     * 添加角色权限
     * @param role 角色和权限对象
     * @return 是否成功
     */
    public boolean addRoleLimit(RoleAndLimits role);

    /**
     * 修改角色信息
     * @param role 角色和权限对象
     * @return 是否成功
     */
    public boolean updateRoleAndLimit(Role role);

    /**
     * 修改角色权限
     * @param role 角色和权限对象
     * @return 是否成功
     */
    public boolean updateLimit(RoleAndLimits role);

    /**
     *
     * @param role 角色对象
     * @return 是否成功
     */
    public boolean deleteRole(Role role);

    /**
     * 通过角色名查询ID
     * @param roleName 角色名称
     * @return 角色ID
     */
    public int queryRoleIdByName(String roleName);

    /**
     * 根据角色名称查询角色信息
     * @param role 角色对象
     * @return 角色对象
     */
    public Role queryRoleInfo(Role role);

}
